import { thenFs } from '../index.js'
const PayData = './data/PayList/ZbPayData.json'
//获取
export async function getPayData () {
  try {
    // 利用 thenFs 读取数据库文件内容
    const str = await thenFs.readFile(PayData, 'utf-8') // 返回的是Promise
    // 把str转换为数组
    const arr = JSON.parse(str)
    // 返回数组, 将来别人调用这个函数，就可以获取数组了
    return arr
  } catch (e) {
    return '获取失败'
  }
}
//删除
export async function delPayData (id) {
  // 先读取数据库中的数据
  const arr = await getPayData()
  // 过滤模拟删除功能
  const newArr = arr.filter(item => item.pay_id != id)
  // 写入文件
  try {
    // 代码 thenFs.writeFile()之前最好写await，有阻塞功能;
    await thenFs.writeFile(PayData, JSON.stringify(newArr))
    return '删除成功'
  } catch (e) {
    return '删除失败'
  }
}

//修改
export async function putPayData (obj) {
  // 先读取文件中的数据
  const arr = await getPayData()
  // 修改 - 先删除，在添加
  const index = arr.findIndex(item => item.pay_id == obj.pay_id)
  arr.splice(index, 1, obj)
  // 写入数据
  try {
    // 代码 thenFs.writeFile()之前最好写await，有阻塞功能;
    await thenFs.writeFile(PayData, JSON.stringify(arr))
    return '修改成功'
  } catch (e) {
    return '修改失败'
  }
}

export default { getPayData, delPayData, putPayData }
